home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 30
/
Aminet 30 (1999)(Schatztruhe)[!][Apr 1999].iso
/
Aminet
/
dev
/
lang
/
SmallEiffel.lha
/
SmallEiffel
/
bin_c
/
short28.c
< prev
next >
Wrap
C/C++ Source or Header
|
1998-12-22
|
45KB
|
2,170 lines
/*
-- ANSI C code generated by :
-- SmallEiffel The GNU Eiffel Compiler -- Release (- 0.79) --
-- Copyright (C), 1994-98 - LORIA - UHP - CRIN - INRIA - FRANCE --
-- Dominique COLNET and Suzanne COLLIN - colnet@loria.fr --
-- http://www.loria.fr/SmallEiffel --
*/
#include "short.h"
/*No:PROC_CALL_0.feature_name*/
void r150run_feature_match(T150* C){
r150run_feature_has_no_result(C);
/*[IF*/
if((X312arg_count((C)->_run_feature/*12*/))>(0)){
r67add_position(X77start_position((C)->_feature_name/*8*/));
r67add_position(X312start_position((C)->_run_feature/*12*/));
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms150_50512);
r67fatal_error((T67*)(oBC11eh),b1);
}/*]*/
}
/*FI]*/
}
/*No:PROC_CALL_0.arguments*/
T0* r150runnable_expression(T0* a1,T0* a2){
T0* R=NULL;
R=X53to_runnable(a1,a2);
/*[IF*/
if((R)==((void*)(NULL))){
r67add_position(X53start_position(a1));
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms105_16515);
r67fatal_error((T67*)(oBC11eh),b1);
}/*]*/
}
/*FI]*/
return R;
}
T0* r150start_position(T150* C){
T0* R=NULL;
R=X77start_position((C)->_feature_name/*8*/);
return R;
}
T0* r150add_comment(T150* C,T0* a1){
T0* R=NULL;
/*[IF*/
if(((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r34count(((T34*)((((T52*)a1))->_list/*4*/)))/*)*/)==(0))){
R=(T0*)C;
}
/*AF*/else{
{T213*n=malloc(sizeof(*n));
*n=M213;
r213make(n,(T0*)C,a1);
R=(T0*)n;
}
}
/*FI]*/
return R;
}
void r150run_feature_has_no_result(T150* C){
/*[IF*/
if((X312result_type((C)->_run_feature/*12*/))!=((void*)(NULL))){
r67add_position(X312start_position((C)->_run_feature/*12*/));
r67add_position(X77start_position((C)->_feature_name/*8*/));
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms149_67122);
r67fatal_error((T67*)(oBC11eh),b1);
}/*]*/
}
/*FI]*/
}
T0* r150to_runnable(T150* C,T0* a1){
T0* R=NULL;
T0* _rf=NULL;
T0* _t=NULL;
_t=r150runnable_expression((C)->_target/*4*/,a1);
_rf=r150run_feature_for(C,_t,a1);
/*[IF*/
if(((C)->_run_feature/*12*/)==((void*)(NULL))){
C->_target=_t;
C->_run_feature=_rf;
r150run_feature_match(C);
R=(T0*)C;
}
else if((_t)==((void*)((C)->_target/*4*/))){
R=(T0*)C;
}
else{
{T150*n=malloc(sizeof(*n));
*n=M150;
r150make(n,_t,(C)->_feature_name/*8*/);
R=(T0*)n;
}
R=r150to_runnable(((T150*)R),a1);
}
/*FI]*/
return R;
}
/*No:PROC_CALL_0.set_run_feature*/
T0* r150run_feature_for(T150* C,T0* a1,T0* a2){
T0* R=NULL;
T0* _rc=NULL;
_rc=X46run_class(X53result_type(a1));
R=r310get_rf(((T310*)_rc),a1,(C)->_feature_name/*8*/,a2);
return R;
}
/*No:PROC_CALL_0.target*/
/*No:PROC_CALL_0.run_feature*/
/*No:PROC_CALL_0.end_mark_comment*/
void r150make(T150* C,T0* a1,T0* a2){
C->_target=a1;
C->_feature_name=a2;
}
T0* r150make_runnable(T150* C,T0* a1,T0* a2,T0* a3){
T0* R=NULL;
/*[IF*/
if(((C)->_run_feature/*12*/)==((void*)(NULL))){
C->_target=a1;
C->_run_feature=a3;
R=(T0*)C;
}
else{
{T150*n=malloc(sizeof(*n));
*n=M150;
r150make(n,a1,(C)->_feature_name/*8*/);
R=(T0*)n;
}
/*[IRF3.3set_run_feature*/((((T150*)(((T150*)R))))->_run_feature)=(a3);
/*]*/
}
/*FI]*/
return R;
}
/*No:PROC_CALL_0.arg_count*/
/*No:PROC_CALL_0.fatal_error*/
void r246anchor_cycle_start(T246* C){
T2 _i=0;
/*[IF*/
if((((T68*)(oBC244visited))->_upper/*8*/)<(0)){
r68add_last((T68*)(oBC244visited),(C)->_start_position/*4*/);
}
else if(r68fast_has((T68*)(oBC244visited),(C)->_start_position/*4*/)){
_i=0;
while (!((_i)>(((T68*)(oBC244visited))->_upper/*8*/))) {
r67add_position(/*(IRF4.6item*/(((T68*)(oBC244visited))->_storage/*0*/)[_i]/*)*/);
_i=(_i)+(1);
}
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms12_47439);
r67fatal_error((T67*)(oBC11eh),b1);
}/*]*/
}
else{
r68add_last((T68*)(oBC244visited),(C)->_start_position/*4*/);
}
/*FI]*/
}
void r246anchor_cycle_end(T246* C){
/*[IF*/
if(((C)->_start_position/*4*/)==((void*)(/*(IRF4.5first*//*(IRF4.6item*/(((T68*)(oBC244visited))->_storage/*0*/)[0]/*)*//*)*/))){
/*[IRF3.3clear*/((((T68*)((T68*)(oBC244visited))))->_upper)=(-(1));
/*]*/
}
/*FI]*/
}
T0* r246generic_list(T246* C){
T0* R=NULL;
/*[IF*/
if(r246is_generic(C)){
R=X46generic_list(r246run_type(C));
}
else{
r246fatal_error_generic_list(C);
}
/*FI]*/
return R;
}
T0* r246base_class(T246* C){
T0* R=NULL;
T0* _bcn=NULL;
_bcn=r246base_class_name(C);
/*[IF*/
if((_bcn)!=((void*)(NULL))){
R=r47base_class(((T47*)_bcn));
}
else{
/*[IRF3.6append*/{T0* b1=((T0*)ms46_37098);
r7append((T7*)(oBC67explanation),b1);
}/*]*/
r67add_type((T0*)C,((T0*)ms12_47));
r67print_as_fatal_error((T67*)(oBC11eh));
}
/*FI]*/
return R;
}
T0* r246base_class_name(T246* C){
T0* R=NULL;
R=X46base_class_name(r246run_type(C));
return R;
}
/*No:TYPE_LIKE_ARGUMENT.start_position*/
/*No:TYPE_LIKE_ARGUMENT.is_formal_generic*/
void r246used_as_reference(T246* C){
X46used_as_reference(r246run_type(C));
}
T6 r246is_a_in(T246* C,T0* a1,T0* a2){
T6 R=0;
T0* _ct=NULL;
T0* _t2=NULL;
T0* _t1=NULL;
/*[IF*/
if(((C)->_written_mark/*12*/)==((void*)(X46written_mark(a1)))){
R=1;
}
else{
_ct=(((T310*)a2))->_current_type/*0*/;
_t1=r246to_runnable(C,_ct);
_t2=X46to_runnable(a1,_ct);
/*[IF*/
if((X46run_time_mark(_t1))==((void*)(X46run_time_mark(_t2)))){
R=1;
}
else{
R=X46is_a(_t1,_t2);
}
/*FI]*/
}
/*FI]*/
return R;
}
/*No:TYPE_LIKE_ARGUMENT.rank*/
/*No:TYPE_LIKE_ARGUMENT.fz_bad_anchor*/
T2 r246id(T246* C){
T2 R=0;
R=((T310*)(r246run_class(C)))->_id/*4*/;
return R;
}
T6 r246is_pointer(T246* C){
T6 R=0;
R=X46is_pointer(r246run_type(C));
return R;
}
T0* r246look_up_for(T246* C,T0* a1,T0* a2){
T0* R=NULL;
R=r22look_up_for((T22*)(r246base_class(C)),a1,a2);
return R;
}
T0* r246to_runnable(T246* C,T0* a1){
T0* R=NULL;
T0* _rt=NULL;
T0* _rf=NULL;
r246anchor_cycle_start(C);
_rf=r59top_rf((T59*)(oBC11small_eiffel));
/*[IF*/
if((X312arguments(_rf))==((void*)(NULL))){
r67add_position((C)->_start_position/*4*/);
r67add_position(X312start_position(_rf));
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms12_10043);
r67fatal_error((T67*)(oBC11eh),b1);
}/*]*/
}
/*FI]*/
/*[IF*/
if(((C)->_run_feature/*16*/)==((void*)(NULL))){
C->_run_feature=_rf;
R=(T0*)C;
}
else if(((C)->_run_feature/*16*/)==((void*)(_rf))){
R=(T0*)C;
}
else{
{T246*n=malloc(sizeof(*n));
*n=M246;
r246with(n,(T0*)C,_rf);
R=(T0*)n;
}
}
/*FI]*/
_rt=r246run_type(((T246*)R));
/*[IF*/
if(X46is_anchored(_rt)){
_rt=X46to_runnable(_rt,a1);
}
/*FI]*/
r246anchor_cycle_end(C);
return R;
}
T0* r246run_type(T246* C){
T0* R=NULL;
T0* _fal=NULL;
_fal=X312arguments((C)->_run_feature/*16*/);
R=r175type(((T175*)_fal),/*(IRF4.6rank*/(((T176*)((C)->_like_what/*8*/)))->_rank/*8*//*)*/);
/*[IF*/
if(X46is_run_type(R)){
R=X46run_type(R);
}
/*FI]*/
return R;
}
T0* r246run_class(T246* C){
T0* R=NULL;
R=r59run_class(r246run_type(C));
return R;
}
T6 r246has_creation(T246* C,T0* a1){
T6 R=0;
R=X46has_creation(r246run_type(C),a1);
return R;
}
T0* r246expanded_initializer(T246* C){
T0* R=NULL;
R=X46expanded_initializer(r246run_type(C));
return R;
}
/*No:TYPE_LIKE_ARGUMENT.fz_cad*/
/*No:TYPE_LIKE_ARGUMENT.run_feature*/
/*No:TYPE_LIKE_ARGUMENT.is_like_current*/
T6 r246is_boolean(T246* C){
T6 R=0;
R=X46is_boolean(r246run_type(C));
return R;
}
T6 r246is_generic(T246* C){
T6 R=0;
R=X46is_generic(r246run_type(C));
return R;
}
T6 r246is_bit(T246* C){
T6 R=0;
R=X46is_bit(r246run_type(C));
return R;
}
T6 r246is_real(T246* C){
T6 R=0;
R=X46is_real(r246run_type(C));
return R;
}
void r246with(T246* C,T0* a1,T0* a2){
C->_start_position=(((T246*)a1))->_start_position/*4*/;
C->_like_what=(((T246*)a1))->_like_what/*8*/;
C->_written_mark=(((T246*)a1))->_written_mark/*12*/;
C->_run_feature=a2;
}
T0* r246smallest_ancestor(T246* C,T0* a1){
T0* R=NULL;
R=X46smallest_ancestor(r246run_type(C),a1);
return R;
}
T6 r246is_any(T246* C){
T6 R=0;
R=X46is_any(r246run_type(C));
return R;
}
/*No:TYPE_LIKE_ARGUMENT.fatal_error*/
T0* r246run_time_mark(T246* C){
T0* R=NULL;
/*[IF*/
if((r246run_type(C))!=((void*)(NULL))){
R=X46run_time_mark(r246run_type(C));
}
/*FI]*/
return R;
}
T6 r246is_expanded(T246* C){
T6 R=0;
R=X46is_expanded(r246run_type(C));
return R;
}
T6 r246is_basic_eiffel_expanded(T246* C){
T6 R=0;
R=X46is_basic_eiffel_expanded(r246run_type(C));
return R;
}
void r246short_hook(T246* C){
r39hook_or((T39*)(oBC11short_print),((T0*)ms246_1724),((T0*)ms246_2340));
r176short((T176*)((C)->_like_what/*8*/));
}
/*No:TYPE_LIKE_ARGUMENT.fz_like*/
T6 r246is_string(T246* C){
T6 R=0;
R=X46is_string(r246run_type(C));
return R;
}
T6 r246is_integer(T246* C){
T6 R=0;
R=X46is_integer(r246run_type(C));
return R;
}
/*No:TYPE_LIKE_ARGUMENT.is_like_feature*/
/*No:TYPE_LIKE_ARGUMENT.fz_dot*/
/*No:TYPE_LIKE_ARGUMENT.is_anchored*/
T6 r246is_run_type(T246* C){
T6 R=0;
/*[IF*/
if(((C)->_run_feature/*16*/)!=((void*)(NULL))){
R=X46is_run_type(r246run_type(C));
}
/*FI]*/
return R;
}
T6 r246is_a(T246* C,T0* a1){
T6 R=0;
R=X46is_a(r246run_type(C),a1);
return R;
}
T6 r246is_character(T246* C){
T6 R=0;
R=X46is_character(r246run_type(C));
return R;
}
T6 r246is_reference(T246* C){
T6 R=0;
R=X46is_reference(r246run_type(C));
return R;
}
/*No:TYPE_LIKE_ARGUMENT.written_mark*/
/*No:TYPE_LIKE_ARGUMENT.like_what*/
/*No:TYPE_LIKE_ARGUMENT.tmp_written_mark*/
void r246make(T246* C,T0* a1,T0* a2){
C->_start_position=a1;
C->_like_what=a2;
r7copy((T7*)(((T0*)ms244_87371)),((T0*)ms12_1724));
r7extend((T7*)(((T0*)ms244_87371)),'\40');
r7append((T7*)(((T0*)ms244_87371)),r176to_string((T176*)((C)->_like_what/*8*/)));
C->_written_mark=r78item(((T0*)ms244_87371));
}
T6 r246is_none(T246* C){
T6 R=0;
R=X46is_none(r246run_type(C));
return R;
}
T6 r246is_array(T246* C){
T6 R=0;
R=X46is_array(r246run_type(C));
return R;
}
void r246fatal_error_generic_list(T246* C){
r67add_type((T0*)C,((T0*)ms46_29184));
r67print_as_fatal_error((T67*)(oBC11eh));
}
/*No:TYPE_LIKE_ARGUMENT.is_like_argument*/
T6 r246is_double(T246* C){
T6 R=0;
R=X46is_double(r246run_type(C));
return R;
}
void r246short(T246* C){
r39hook((T39*)(oBC11short_print),((T0*)ms46_891));
r246short_hook(C);
r39hook((T39*)(oBC11short_print),((T0*)ms46_888));
}
/*No:CST_ATT_STRING.base_class*/
T0* r195start_position(T195* C){
T0* R=NULL;
R=X77start_position(/*(IRF4.6first_name*/r79item(((T79*)((C)->_names/*8*/)),1)/*)*/);
return R;
}
T6 r195is_merge_with(T195* C,T0* a1,T0* a2){
T6 R=0;
R=1;
/*[IF*/
if(((C)->_result_type/*20*/)!=((void*)(X87result_type(a1)))){
/*[IF*/
if((((C)->_result_type/*20*/)==((void*)(NULL)))||((X87result_type(a1))==((void*)(NULL)))){
R=0;
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if((/*(IRF4.1arguments*/NULL/*)*/)!=((void*)(X87arguments(a1)))){
/*[IF*/
{/*AT*/R=0;
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if(R){
/*[IF*/
if(((C)->_result_type/*20*/)!=((void*)(NULL))){
R=X46is_a_in((C)->_result_type/*20*/,X87result_type(a1),a2);
}
/*FI]*/
/*[IF*/
if((R)&&((/*(IRF4.1arguments*/NULL/*)*/)!=((void*)(NULL)))){
R=r175is_a_in((T175*)(/*(IRF4.1arguments*/NULL/*)*/),X87arguments(a1),a2);
}
/*FI]*/
/*[IF*/
if(!(R)){
R=1;
/*[IRF3.2cancel*//*[IRF3.3clear*/((((T7*)((T7*)(oBC67explanation))))->_count)=(0);
/*]*/
/*[IRF3.3clear*/((((T68*)((T68*)(oBC67positions))))->_upper)=(-(1));
/*]*/
/*]*/
/*[IF*/
if(((C)->_result_type/*20*/)!=((void*)(NULL))){
R=X46is_a_in(X87result_type(a1),(C)->_result_type/*20*/,a2);
}
/*FI]*/
/*[IF*/
if((R)&&((/*(IRF4.1arguments*/NULL/*)*/)!=((void*)(NULL)))){
R=r175is_a_in((T175*)(X87arguments(a1)),/*(IRF4.1arguments*/NULL/*)*/,a2);
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if(R){
r195merge_header_comments(C,a1);
}
/*FI]*/
return R;
}
/*No:CST_ATT_STRING.first_name*/
/*No:CST_ATT_STRING.first_value*/
/*No:CST_ATT_STRING.em1*/
/*No:CST_ATT_STRING.header_comment*/
/*No:CST_ATT_STRING.names*/
/*No:CST_ATT_STRING.result_type*/
/*No:CST_ATT_STRING.code_require*/
/*No:CST_ATT_STRING.make_e_feature*/
void r195add_into(T195* C,T0* a1){
T0* _fn=NULL;
T2 _i=0;
C->_base_class=r69base_class((T69*)(X77start_position(r79item((T79*)((C)->_names/*8*/),1))));
_i=1;
while (!((_i)>(r79count((T79*)((C)->_names/*8*/))))) {
_fn=r79item((T79*)((C)->_names/*8*/),_i);
/*[IF*/
if(r86has(((T86*)a1),X77to_key(_fn))){
_fn=/*X87first_name*/((T0*)/*(IRF4.6first_name*/r79item(((T79*)(((T187*)(r86at(((T86*)a1),X77to_key(_fn))))->_names/*8*/)),1)/*)*/);
r67add_position(X77start_position(_fn));
r67add_position(X77start_position(r79item((T79*)((C)->_names/*8*/),_i)));
r67error((T67*)(oBC11eh),((T0*)ms87_41905));
/*[IRF3.6append*/{T0* b1=X77to_string(_fn);
r7append((T7*)(oBC67explanation),b1);
}/*]*/
r67error((T67*)(oBC11eh),((T0*)ms12_47));
}
else{
r86put(((T86*)a1),(T0*)C,X77to_key(_fn));
}
/*FI]*/
_i=(_i)+(1);
}
}
T6 r195can_hide(T195* C,T0* a1,T0* a2){
T6 R=0;
/*[IF*/
if(((C)->_result_type/*20*/)!=((void*)(X87result_type(a1)))){
/*[IF*/
if((((C)->_result_type/*20*/)==((void*)(NULL)))||((X87result_type(a1))==((void*)(NULL)))){
r67add_position(X87start_position(a1));
r195error(r195start_position(C),((T0*)ms87_64647));
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if((/*(IRF4.1arguments*/NULL/*)*/)!=((void*)(X87arguments(a1)))){
/*[IF*/
{/*AT*/r67add_position(X87start_position(a1));
r195error(r195start_position(C),((T0*)ms87_83182));
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if((/*(IRF4.9nb_errors*/((T67*)(oBC11eh))->_nb_errors/*4*//*)*/)==(0)){
/*[IF*/
if(((C)->_result_type/*20*/)!=((void*)(NULL))){
/*[IF*/
if(!(X46is_a_in((C)->_result_type/*20*/,X87result_type(a1),a2))){
/*[IRF3.6append*/{T0* b1=((T0*)ms87_54285);
r7append((T7*)(oBC67explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=X46run_time_mark((((T310*)a2))->_current_type/*0*/);
r7append((T7*)(oBC67explanation),b1);
}/*]*/
r67error((T67*)(oBC11eh),((T0*)ms12_47));
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if((/*(IRF4.9nb_errors*/((T67*)(oBC11eh))->_nb_errors/*4*//*)*/)==(0)){
/*[IF*/
/*AF*//*AE*/
/*FI]*/
}
/*FI]*/
R=(/*(IRF4.9nb_errors*/((T67*)(oBC11eh))->_nb_errors/*4*//*)*/)==(0);
/*[IF*/
if(R){
r195merge_header_comments(C,a1);
}
/*FI]*/
return R;
}
/*No:CST_ATT_STRING.ensure_assertion*/
T0* r195try_to_undefine(T195* C,T0* a1,T0* a2){
T0* R=NULL;
T0* _fn2=NULL;
r67add_position(X77start_position(a1));
_fn2=r79feature_name((T79*)((C)->_names/*8*/),X77to_key(a1));
/*[IF*/
if((_fn2)!=((void*)(NULL))){
X77undefine_in(_fn2,a2);
}
/*FI]*/
/*[IRF3.2cancel*//*[IRF3.3clear*/((((T7*)((T7*)(oBC67explanation))))->_count)=(0);
/*]*/
/*[IRF3.3clear*/((((T68*)((T68*)(oBC67positions))))->_upper)=(-(1));
/*]*/
/*]*/
R=r195try_to_undefine_aux(C,a1,a2);
/*[IF*/
if((R)!=((void*)(NULL))){
/*X270set_clients*//*[IRF3.3set_clients*/((((T273*)(((T273*)R))))->_clients)=((C)->_clients/*16*/);
/*]*/
r195merge_header_comments(C,R);
}
else{
r22fatal_undefine(((T22*)a2),a1);
}
/*FI]*/
return R;
}
/*No:CST_ATT_STRING.is_deferred*/
/*No:CST_ATT_STRING.remainder*/
/*No:CST_ATT_STRING.set_clients*/
T0* r195value(T195* C,T2 a1){
T0* R=NULL;
/*[IF*/
if((a1)==(1)){
R=(C)->_first_value/*24*/;
}
else{
R=/*(IRF4.6item*/(((T196*)((C)->_remainder/*28*/))->_storage/*4*/)[(a1)-(2)]/*)*/;
}
/*FI]*/
return R;
}
/*No:CST_ATT_STRING.nb_errors*/
T0* r195to_run_feature(T195* C,T0* a1,T0* a2){
T0* R=NULL;
T0* _rc=NULL;
_rc=X46run_class(a1);
R=r310at(((T310*)_rc),a2);
if(NULL!=(R))switch(((T0*)R)->id) {
case 326:
break;
default:
R=NULL;
};/*[IF*/
if((R)==((void*)(NULL))){
{T326*n=malloc(sizeof(*n));
*n=M326;
r326make(n,a1,a2,(T0*)C);
R=(T0*)n;
}
}
/*FI]*/
return R;
}
void r195merge_header_comments(T195* C,T0* a1){
/*[IF*/
if(((T59*)(oBC11small_eiffel))->_short_flag/*0*/){
/*[IF*/
if(((C)->_header_comment/*12*/)==((void*)(NULL))){
C->_header_comment=/*X87header_comment*/((T0*)(((T187*)a1))->_header_comment/*12*/);
}
else if((/*X87header_comment*/((T0*)(((T187*)a1))->_header_comment/*12*/))==((void*)(NULL))){
X87set_header_comment(a1,(C)->_header_comment/*12*/);
}
/*FI]*/
}
/*FI]*/
}
/*No:CST_ATT_STRING.arguments*/
/*No:CST_ATT_STRING.require_assertion*/
T0* r195try_to_undefine_aux(T195* C,T0* a1,T0* a2){
T0* R=NULL;
r67add_position(r195start_position(C));
r195error(X77start_position(a1),((T0*)ms189_99414));
r22fatal_undefine(((T22*)a2),a1);
return R;
}
/*No:CST_ATT_STRING.fz_dot*/
void r195error(T0* a1,T0* a2){
r67add_position(a1);
r67error((T67*)(oBC11eh),a2);
}
void r195make(T195* C,T0* a1,T0* a2,T0* a3){
T2 _i=0;
/*[IRF3.3make_e_feature*/((((T195*)(C)))->_names)=(a1);
/*]*/
C->_result_type=a2;
C->_first_value=a3;
_i=r79count((T79*)((C)->_names/*8*/));
/*[IF*/
if((_i)>(1)){
_i=(_i)-(1);
{T196*n=malloc(sizeof(*n));
*n=M196;
r196make(n,_i);
C->_remainder=(T0*)n;
}
while (!((_i)==(0))) {
_i=(_i)-(1);
/*[IRF3.5put*/(((T196*)((C)->_remainder/*28*/))->_storage/*4*/)[_i]=(r158twin(((T158*)a3)));
/*]*/
}
}
/*FI]*/
}
void r195collect_for(T2 a1){
T0* _er=NULL;
/*[IF*/
if((a1)==(1)){
_er=/*(IRF4.1require_assertion*/NULL/*)*/;
/*[IF*/
if((_er)!=((void*)(NULL))){
/*[IF*/
if(!(r315fast_has((T315*)(oBC87require_collector),_er))){
r315add_last((T315*)(oBC87require_collector),_er);
}
/*FI]*/
}
/*FI]*/
}
else{
/*[IF*/
/*AF*//*AE*/
/*FI]*/
}
/*FI]*/
}
/*No:CST_ATT_STRING.set_header_comment*/
/*No:CST_ATT_STRING.clients*/
/*No:MANIFEST_ARRAY.nb_errors*/
/*No:MANIFEST_ARRAY.start_position*/
T0* r97add_comment(T97* C,T0* a1){
T0* R=NULL;
/*[IF*/
if(((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r34count(((T34*)((((T52*)a1))->_list/*4*/)))/*)*/)==(0))){
R=(T0*)C;
}
else{
{T218*n=malloc(sizeof(*n));
*n=M218;
r218make(n,(T0*)C,a1);
R=(T0*)n;
}
}
/*FI]*/
return R;
}
T2 r97to_integer(T97* C){
T2 R=0;
r97error((C)->_start_position/*4*/,((T0*)ms12_45846));
return R;
}
T0* r97type_any(void){
if(fBC11type_any==0){
fBC11type_any=1;
{T247*n=malloc(sizeof(*n));
*n=M247;
r247make(n,NULL);
oBC11type_any=(T0*)n;
}
}
return oBC11type_any;}
/*No:MANIFEST_ARRAY.fz_c_shift_right*/
/*No:MANIFEST_ARRAY.fz_c_shift_left*/
T0* r97to_runnable(T97* C,T0* a1){
T0* R=NULL;
T0* _t=NULL;
T0* _e=NULL;
T2 _i=0;
/*[IF*/
if(((C)->_current_type/*16*/)==((void*)(NULL))){
C->_current_type=a1;
/*[IF*/
if(((C)->_list/*8*/)==((void*)(NULL))){
_t=r97type_any();
}
else{
_i=/*X98upper*/((T2)((T98*)((C)->_list/*8*/))->_upper/*12*/);
while (!((_i)==(0))) {
_e=X53to_runnable(/*X98item*/((T0*)r98item((T98*)((C)->_list/*8*/),_i)),a1);
/*[IF*/
if((_e)==((void*)(NULL))){
r67add_position((C)->_start_position/*4*/);
r97error(X53start_position(/*X98item*/((T0*)r98item((T98*)((C)->_list/*8*/),_i))),((T0*)ms97_63657));
_i=0;
}
else{
/*X98put*//*[IRF3.6put*/{T98* C1=(T98*)((C)->_list/*8*/);
T0* b1=_e;
T2 b2=_i;
((C1)->_storage/*4*/)[(b2)-((C1)->_lower/*16*/)]=(b1);
}/*]*/
/*[IF*/
if((_t)==((void*)(NULL))){
_t=X53result_type(_e);
}
else{
_t=X46smallest_ancestor(_t,X53result_type(_e));
}
/*FI]*/
_i=(_i)-(1);
}
/*FI]*/
}
}
/*FI]*/
/*[IF*/
if((/*(IRF4.9nb_errors*/((T67*)(oBC11eh))->_nb_errors/*4*//*)*/)==(0)){
_t=X46run_type(_t);
{T248*n=malloc(sizeof(*n));
*n=M248;
r248make(n,(C)->_start_position/*4*/,_t);
C->_result_type=(T0*)n;
}
r310set_at_run_time((T310*)(r248run_class((T248*)((C)->_result_type/*12*/))));
r248load_basic_features((T248*)((C)->_result_type/*12*/));
R=(T0*)C;
/*[IF*/
if((X46is_reference(_t))&&(((C)->_list/*8*/)!=((void*)(NULL)))){
_i=/*X98upper*/((T2)((T98*)((C)->_list/*8*/))->_upper/*12*/);
while (!((_i)==(0))) {
_t=X53result_type(/*X98item*/((T0*)r98item((T98*)((C)->_list/*8*/),_i)));
/*[IF*/
if(X46is_expanded(_t)){
X46used_as_reference(_t);
}
/*FI]*/
_i=(_i)-(1);
}
}
/*FI]*/
r348register((C)->_result_type/*12*/);
}
/*FI]*/
}
else if(((C)->_list/*8*/)==((void*)(NULL))){
R=(T0*)C;
}
else{
{T97*n=malloc(sizeof(*n));
*n=M97;
r97make(n,(C)->_start_position/*4*/,X98twin((C)->_list/*8*/));
R=(T0*)n;
}
R=r97to_runnable(((T97*)R),a1);
}
/*FI]*/
return R;
}
/*No:MANIFEST_ARRAY.current_type*/
/*No:MANIFEST_ARRAY.fz_iinaiv*/
/*No:MANIFEST_ARRAY.result_type*/
void r97error(T0* a1,T0* a2){
r67add_position(a1);
r67error((T67*)(oBC11eh),a2);
}
/*No:MANIFEST_ARRAY.precedence*/
void r97make(T97* C,T0* a1,T0* a2){
C->_start_position=a1;
C->_list=a2;
}
void r97bracketed_short(T97* C){
r39hook_or((T39*)(oBC11short_print),((T0*)ms53_6792),((T0*)ms53_41));
r97short(C);
r39hook_or((T39*)(oBC11short_print),((T0*)ms53_8645),((T0*)ms53_42));
}
/*No:MANIFEST_ARRAY.is_current*/
/*No:MANIFEST_ARRAY.is_void*/
void r97short_target(T97* C){
r97bracketed_short(C);
/*[IRF3.6a_dot*/{T39* C1=(T39*)(oBC11short_print);
r39hook_or(C1,((T0*)ms39_999a),((T0*)ms12_47));
}/*]*/
}
/*No:MANIFEST_ARRAY.list*/
void r97short(T97* C){
T2 _i=0;
r39hook_or((T39*)(oBC11short_print),((T0*)ms97_2695),((T0*)ms12_246));
/*[IF*/
if(((C)->_list/*8*/)!=((void*)(NULL))){
_i=1;
while (!((_i)>(/*X98upper*/((T2)((T98*)((C)->_list/*8*/))->_upper/*12*/)))) {
X53short(/*X98item*/((T0*)r98item((T98*)((C)->_list/*8*/),_i)));
_i=(_i)+(1);
/*[IF*/
if((_i)<=(/*X98upper*/((T2)((T98*)((C)->_list/*8*/))->_upper/*12*/))){
r39hook_or((T39*)(oBC11short_print),((T0*)ms97_7224),((T0*)ms97_45));
}
/*FI]*/
}
}
/*FI]*/
r39hook_or((T39*)(oBC11short_print),((T0*)ms97_2615),((T0*)ms12_254));
}
T0* r273run_require(T0* a1){
T0* R=NULL;
T0* _ct=NULL;
T0* _ar=NULL;
T0* _hc=NULL;
T0* _er=NULL;
T0* _r=NULL;
T2 _i=0;
r315clear((T315*)(oBC87require_collector));
_ct=/*X312current_type*/((T0*)(((T326*)a1))->_current_type/*4*/);
r22collect_for((T22*)(X46base_class(_ct)),1,/*X312name*/((T0*)(((T326*)a1))->_name/*16*/));
/*[IF*/
if(!(r315empty((T315*)(oBC87require_collector)))){
_i=1;
while (!((_i)>(((T315*)(oBC87require_collector))->_upper/*8*/))) {
_er=r315item((T315*)(oBC87require_collector),_i);
_hc=(((T272*)_er))->_header_comment/*4*/;
/*[IF*/
if(!(/*(IRF4.7empty*/((((T272*)_er))->_list/*8*/)==(NULL)/*)*/)){
_r=r273runnable((((T272*)_er))->_list/*8*/,_ct,a1);
/*[IF*/
if((_r)!=((void*)(NULL))){
{T272*n=malloc(sizeof(*n));
*n=M272;
r272make_runnable(n,_r,_ct,a1);
_er=(T0*)n;
}
/*[IRF3.3set_header_comment*/((((T272*)(((T272*)_er))))->_header_comment)=(_hc);
/*]*/
/*[IF*/
if((_ar)==((void*)(NULL))){
_ar=se_ma315(1,
_er);
}
else{
r315add_last(((T315*)_ar),_er);
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
_i=(_i)+(1);
}
/*[IF*/
if((_ar)!=((void*)(NULL))){
{T314*n=malloc(sizeof(*n));
*n=M314;
/*[IRF3.3make*/((((T314*)(n)))->_list)=(_ar);
/*]*/
R=(T0*)n;
}
}
/*FI]*/
}
/*FI]*/
return R;
}
/*No:DEFERRED_FUNCTION.base_class*/
void r273set_rescue_compound(T273* C,T0* a1){
/*[IF*/
if((a1)!=((void*)(NULL))){
r67add_position(r204start_position(((T204*)a1)));
}
else{
r67add_position(r273start_position(C));
}
/*FI]*/
/*[IRF3.6append*/{T0* b1=((T0*)ms270_125161);
r7append((T7*)(oBC67explanation),b1);
}/*]*/
r67print_as_fatal_error((T67*)(oBC11eh));
}
T0* r273start_position(T273* C){
T0* R=NULL;
R=X77start_position(/*(IRF4.6first_name*/r79item(((T79*)((C)->_names/*8*/)),1)/*)*/);
return R;
}
T6 r273is_merge_with(T273* C,T0* a1,T0* a2){
T6 R=0;
R=1;
/*[IF*/
if(((C)->_result_type/*40*/)!=((void*)(X87result_type(a1)))){
/*[IF*/
if((((C)->_result_type/*40*/)==((void*)(NULL)))||((X87result_type(a1))==((void*)(NULL)))){
R=0;
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if(((C)->_arguments/*20*/)!=((void*)(X87arguments(a1)))){
/*[IF*/
if((((C)->_arguments/*20*/)==((void*)(NULL)))||((X87arguments(a1))==((void*)(NULL)))){
R=0;
}
else if((/*(IRF4.6count*/(((T179*)(((T175*)((C)->_arguments/*20*/))->_flat_list/*8*/)))->_upper/*12*//*)*/)!=(/*(IRF4.6count*/(((T179*)(((T175*)(X87arguments(a1)))->_flat_list/*8*/)))->_upper/*12*//*)*/)){
R=0;
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if(R){
/*[IF*/
if(((C)->_result_type/*40*/)!=((void*)(NULL))){
R=X46is_a_in((C)->_result_type/*40*/,X87result_type(a1),a2);
}
/*FI]*/
/*[IF*/
if((R)&&(((C)->_arguments/*20*/)!=((void*)(NULL)))){
R=r175is_a_in((T175*)((C)->_arguments/*20*/),X87arguments(a1),a2);
}
/*FI]*/
/*[IF*/
if(!(R)){
R=1;
/*[IRF3.2cancel*//*[IRF3.3clear*/((((T7*)((T7*)(oBC67explanation))))->_count)=(0);
/*]*/
/*[IRF3.3clear*/((((T68*)((T68*)(oBC67positions))))->_upper)=(-(1));
/*]*/
/*]*/
/*[IF*/
if(((C)->_result_type/*40*/)!=((void*)(NULL))){
R=X46is_a_in(X87result_type(a1),(C)->_result_type/*40*/,a2);
}
/*FI]*/
/*[IF*/
if((R)&&(((C)->_arguments/*20*/)!=((void*)(NULL)))){
R=r175is_a_in((T175*)(X87arguments(a1)),(C)->_arguments/*20*/,a2);
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if(R){
r273merge_header_comments(C,a1);
}
/*FI]*/
return R;
}
T0* r273runnable(T0* a1,T0* a2,T0* a3){
T0* R=NULL;
T0* _a=NULL;
T2 _i=0;
/*[IF*/
if(!(r50empty(((T50*)a1)))){
R=r50twin(((T50*)a1));
_i=(((T50*)R))->_upper/*8*/;
while (!((_i)==(0))) {
r59push((T59*)(oBC11small_eiffel),a3);
_a=r49to_runnable((T49*)(r50item(((T50*)R),_i)),a2);
/*[IF*/
if((_a)==((void*)(NULL))){
r273error(r49start_position((T49*)(r50item(((T50*)R),_i))),((T0*)ms12_14266));
}
else{
/*[IRF3.6put*/{T50* C1=((T50*)R);
T0* b1=_a;
T2 b2=_i;
((C1)->_storage/*0*/)[(b2)-((C1)->_lower/*12*/)]=(b1);
}/*]*/
}
/*FI]*/
r59pop((T59*)(oBC11small_eiffel));
_i=(_i)-(1);
}
}
/*FI]*/
return R;
}
/*No:DEFERRED_FUNCTION.first_name*/
/*No:DEFERRED_FUNCTION.em1*/
/*No:DEFERRED_FUNCTION.header_comment*/
/*No:DEFERRED_FUNCTION.names*/
/*No:DEFERRED_FUNCTION.fz_03*/
/*No:DEFERRED_FUNCTION.result_type*/
/*No:DEFERRED_FUNCTION.code_require*/
/*No:DEFERRED_FUNCTION.make_e_feature*/
void r273add_into(T273* C,T0* a1){
T0* _fn=NULL;
T2 _i=0;
C->_base_class=r69base_class((T69*)(X77start_position(r79item((T79*)((C)->_names/*8*/),1))));
_i=1;
while (!((_i)>(r79count((T79*)((C)->_names/*8*/))))) {
_fn=r79item((T79*)((C)->_names/*8*/),_i);
/*[IF*/
if(r86has(((T86*)a1),X77to_key(_fn))){
_fn=/*X87first_name*/((T0*)/*(IRF4.6first_name*/r79item(((T79*)(((T187*)(r86at(((T86*)a1),X77to_key(_fn))))->_names/*8*/)),1)/*)*/);
r67add_position(X77start_position(_fn));
r67add_position(X77start_position(r79item((T79*)((C)->_names/*8*/),_i)));
r67error((T67*)(oBC11eh),((T0*)ms87_41905));
/*[IRF3.6append*/{T0* b1=X77to_string(_fn);
r7append((T7*)(oBC67explanation),b1);
}/*]*/
r67error((T67*)(oBC11eh),((T0*)ms12_47));
}
else{
r86put(((T86*)a1),(T0*)C,X77to_key(_fn));
}
/*FI]*/
_i=(_i)+(1);
}
}
T6 r273can_hide(T273* C,T0* a1,T0* a2){
T6 R=0;
/*[IF*/
if(((C)->_result_type/*40*/)!=((void*)(X87result_type(a1)))){
/*[IF*/
if((((C)->_result_type/*40*/)==((void*)(NULL)))||((X87result_type(a1))==((void*)(NULL)))){
r67add_position(X87start_position(a1));
r273error(r273start_position(C),((T0*)ms87_64647));
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if(((C)->_arguments/*20*/)!=((void*)(X87arguments(a1)))){
/*[IF*/
if((((C)->_arguments/*20*/)==((void*)(NULL)))||((X87arguments(a1))==((void*)(NULL)))){
r67add_position(X87start_position(a1));
r273error(r273start_position(C),((T0*)ms87_83182));
}
else if((/*(IRF4.6count*/(((T179*)(((T175*)((C)->_arguments/*20*/))->_flat_list/*8*/)))->_upper/*12*//*)*/)!=(/*(IRF4.6count*/(((T179*)(((T175*)(X87arguments(a1)))->_flat_list/*8*/)))->_upper/*12*//*)*/)){
r67add_position(X87start_position(a1));
r273error(r273start_position(C),((T0*)ms87_67155));
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if((/*(IRF4.9nb_errors*/((T67*)(oBC11eh))->_nb_errors/*4*//*)*/)==(0)){
/*[IF*/
if(((C)->_result_type/*40*/)!=((void*)(NULL))){
/*[IF*/
if(!(X46is_a_in((C)->_result_type/*40*/,X87result_type(a1),a2))){
/*[IRF3.6append*/{T0* b1=((T0*)ms87_54285);
r7append((T7*)(oBC67explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=X46run_time_mark((((T310*)a2))->_current_type/*0*/);
r7append((T7*)(oBC67explanation),b1);
}/*]*/
r67error((T67*)(oBC11eh),((T0*)ms12_47));
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if((/*(IRF4.9nb_errors*/((T67*)(oBC11eh))->_nb_errors/*4*//*)*/)==(0)){
/*[IF*/
if(((C)->_arguments/*20*/)!=((void*)(NULL))){
/*[IF*/
if(!(r175is_a_in((T175*)((C)->_arguments/*20*/),X87arguments(a1),a2))){
r67add_position(X87start_position(a1));
r67add_position(r273start_position(C));
/*[IRF3.6append*/{T0* b1=((T0*)ms87_54285);
r7append((T7*)(oBC67explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=X46run_time_mark((((T310*)a2))->_current_type/*0*/);
r7append((T7*)(oBC67explanation),b1);
}/*]*/
r67error((T67*)(oBC11eh),((T0*)ms12_47));
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
R=(/*(IRF4.9nb_errors*/((T67*)(oBC11eh))->_nb_errors/*4*//*)*/)==(0);
/*[IF*/
if(R){
r273merge_header_comments(C,a1);
}
/*FI]*/
return R;
}
/*No:DEFERRED_FUNCTION.ensure_assertion*/
T0* r273run_ensure(T0* a1){
T0* R=NULL;
T0* _ct=NULL;
T0* _r=NULL;
r50clear((T50*)(oBC87assertion_collector));
/*[IRF3.3clear*/{T0* _default_item=NULL;
((((T332*)((T332*)(oBC87header_comment_memory))))->_item)=(_default_item);
}/*]*/
_ct=/*X312current_type*/((T0*)(((T326*)a1))->_current_type/*4*/);
r22collect_for((T22*)(X46base_class(_ct)),2,/*X312name*/((T0*)(((T326*)a1))->_name/*16*/));
_r=r273runnable(oBC87assertion_collector,_ct,a1);
/*[IF*/
if((_r)!=((void*)(NULL))){
{T203*n=malloc(sizeof(*n));
*n=M203;
r203make_runnable(n,_r,_ct,a1);
R=(T0*)n;
}
/*[IRF3.3set_header_comment*/((((T203*)(((T203*)R))))->_header_comment)=(((T332*)(oBC87header_comment_memory))->_item/*0*/);
/*]*/
/*[IRF3.3clear*/{T0* _default_item=NULL;
((((T332*)((T332*)(oBC87header_comment_memory))))->_item)=(_default_item);
}/*]*/
}
/*FI]*/
return R;
}
void r273check_obsolete(T273* C){
/*[IF*/
if(!(((T59*)(oBC11small_eiffel))->_short_flag/*0*/)){
/*[IF*/
if(((C)->_obsolete_mark/*24*/)!=((void*)(NULL))){
/*[IRF3.6append*/{T0* b1=((T0*)ms202_39396);
r7append((T7*)(oBC67explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=((T158*)((C)->_obsolete_mark/*24*/))->_to_string/*8*/;
r7append((T7*)(oBC67explanation),b1);
}/*]*/
r273warning(r273start_position(C),((T0*)ms12_166));
}
/*FI]*/
}
/*FI]*/
}
T0* r273try_to_undefine(T273* C,T0* a1,T0* a2){
T0* R=NULL;
T0* _fn2=NULL;
r67add_position(X77start_position(a1));
_fn2=r79feature_name((T79*)((C)->_names/*8*/),X77to_key(a1));
/*[IF*/
if((_fn2)!=((void*)(NULL))){
X77undefine_in(_fn2,a2);
}
/*FI]*/
/*[IRF3.2cancel*//*[IRF3.3clear*/((((T7*)((T7*)(oBC67explanation))))->_count)=(0);
/*]*/
/*[IRF3.3clear*/((((T68*)((T68*)(oBC67positions))))->_upper)=(-(1));
/*]*/
/*]*/
R=/*(IRF4.4try_to_undefine_aux*/((T0*)(C))/*)*/;
/*[IF*/
if((R)!=((void*)(NULL))){
/*X270set_clients*//*[IRF3.3set_clients*/((((T273*)(((T273*)R))))->_clients)=((C)->_clients/*16*/);
/*]*/
r273merge_header_comments(C,R);
}
else{
r22fatal_undefine(((T22*)a2),a1);
}
/*FI]*/
return R;
}
/*No:DEFERRED_FUNCTION.is_deferred*/
/*No:DEFERRED_FUNCTION.set_clients*/
/*No:DEFERRED_FUNCTION.code_ensure*/
/*No:DEFERRED_FUNCTION.nb_errors*/
void r273make_routine(T273* C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5){
/*[IRF3.3make_e_feature*/((((T273*)(C)))->_names)=(a1);
/*]*/
C->_header_comment=a4;
C->_arguments=a2;
C->_obsolete_mark=a3;
C->_require_assertion=a5;
}
T0* r273to_run_feature(T273* C,T0* a1,T0* a2){
T0* R=NULL;
r273check_obsolete(C);
{T330*n=malloc(sizeof(*n));
*n=M330;
r330make(n,a1,a2,(T0*)C);
R=(T0*)n;
}
return R;
}
void r273merge_header_comments(T273* C,T0* a1){
/*[IF*/
if(((T59*)(oBC11small_eiffel))->_short_flag/*0*/){
/*[IF*/
if(((C)->_header_comment/*12*/)==((void*)(NULL))){
C->_header_comment=/*X87header_comment*/((T0*)(((T187*)a1))->_header_comment/*12*/);
}
else if((/*X87header_comment*/((T0*)(((T187*)a1))->_header_comment/*12*/))==((void*)(NULL))){
X87set_header_comment(a1,(C)->_header_comment/*12*/);
}
/*FI]*/
}
/*FI]*/
}
/*No:DEFERRED_FUNCTION.arguments*/
/*No:DEFERRED_FUNCTION.require_assertion*/
void r273warning(T0* a1,T0* a2){
r67add_position(a1);
r67warning((T67*)(oBC11eh),a2);
}
/*No:DEFERRED_FUNCTION.try_to_undefine_aux*/
/*No:DEFERRED_FUNCTION.set_ensure_assertion*/
/*No:DEFERRED_FUNCTION.fz_bad_assertion*/
/*No:DEFERRED_FUNCTION.fz_dot*/
void r273error(T0* a1,T0* a2){
r67add_position(a1);
r67error((T67*)(oBC11eh),a2);
}
void r273make(T273* C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5,T0* a6){
r273make_routine(C,a1,a2,a4,a5,a6);
C->_result_type=a3;
}
/*No:DEFERRED_FUNCTION.end_comment*/
void r273collect_for(T273* C,T2 a1){
T0* _er=NULL;
/*[IF*/
if((a1)==(1)){
_er=(C)->_require_assertion/*28*/;
/*[IF*/
if((_er)!=((void*)(NULL))){
/*[IF*/
if(!(r315fast_has((T315*)(oBC87require_collector),_er))){
r315add_last((T315*)(oBC87require_collector),_er);
}
/*FI]*/
}
/*FI]*/
}
else{
/*[IF*/
if(((C)->_ensure_assertion/*32*/)!=((void*)(NULL))){
/*[IRF3.3set_item*/((((T332*)((T332*)(oBC87header_comment_memory))))->_item)=(((T203*)((C)->_ensure_assertion/*32*/))->_header_comment/*4*/);
/*]*/
r203add_into((T203*)((C)->_ensure_assertion/*32*/),oBC87assertion_collector);
}
/*FI]*/
}
/*FI]*/
}
void r273from_effective(T273* C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5,T0* a6){
{T79*n=malloc(sizeof(*n));
*n=M79;
/*[IRF3.3make_1*/((((T79*)(n)))->_first)=(a1);
/*]*/
C->_names=(T0*)n;
}
r273make(C,(C)->_names/*8*/,a2,a3,NULL,NULL,a4);
/*[IRF3.3set_ensure_assertion*/((((T273*)(C)))->_ensure_assertion)=(a5);
/*]*/
C->_base_class=a6;
}
void r273set_header_comment(T273* C,T0* a1){
/*[IF*/
if(((a1)!=((void*)(NULL)))&&((/*(IRF4.6count*/r34count(((T34*)((((T52*)a1))->_list/*4*/)))/*)*/)>(1))){
C->_end_comment=a1;
}
/*FI]*/
}
/*No:DEFERRED_FUNCTION.clients*/
/*No:DEFERRED_FUNCTION.obsolete_mark*/
T6 r74has(T74* C,T0* a1){
T6 R=0;
/*[IF*/
if(((C)->_procedure_list/*12*/)!=((void*)(NULL))){
R=r79has((T79*)((C)->_procedure_list/*12*/),a1);
}
/*FI]*/
return R;
}
/*No:CREATION_CLAUSE.fz_cbe*/
/*No:CREATION_CLAUSE.fatal_error_vtec_2*/
/*No:CREATION_CLAUSE.start_position*/
/*No:CREATION_CLAUSE.procedure_list*/
T0* r74expanded_initializer(T74* C,T0* a1){
T0* R=NULL;
/*[IF*/
if(((C)->_procedure_list/*12*/)!=((void*)(NULL))){
R=r310get_feature((T310*)(X46run_class(a1)),r79item((T79*)((C)->_procedure_list/*12*/),1));
if(NULL!=(R))switch(((T0*)R)->id) {
case 319:
break;
default:
R=NULL;
};}
/*FI]*/
return R;
}
void r74make(T74* C,T0* a1,T0* a2,T0* a3,T0* a4){
C->_start_position=a1;
C->_clients=a2;
C->_comment=a3;
C->_procedure_list=a4;
}
/*No:CREATION_CLAUSE.comment*/
/*No:CREATION_CLAUSE.clients*/
T6 r74short(T74* C,T6 a1){
T6 R=0;
/*[IF*/
if(r94gives_permission_to_any((T94*)((C)->_clients/*4*/))){
/*[IF*/
if(!(a1)){
r39hook_or((T39*)(oBC11short_print),((T0*)ms74_5831),((T0*)ms74_5688));
}
/*FI]*/
/*[IF*/
if(((C)->_procedure_list/*12*/)!=((void*)(NULL))){
r79short_for_creation((T79*)((C)->_procedure_list/*12*/));
}
/*FI]*/
r39hook_or((T39*)(oBC11short_print),((T0*)ms74_5880),((T0*)ms74_0));
R=1;
}
else{
/*[IRF3.2cancel*//*[IRF3.3clear*/((((T7*)((T7*)(oBC67explanation))))->_count)=(0);
/*]*/
/*[IRF3.3clear*/((((T68*)((T68*)(oBC67positions))))->_upper)=(-(1));
/*]*/
/*]*/
}
/*FI]*/
return R;
}
/*No:CREATION_CLAUSE.fatal_error*/
void r74check_expanded_with(T74* C,T0* a1){
T0* _rc=NULL;
T0* _rf3=NULL;
T0* _rf=NULL;
/*[IF*/
if(((C)->_procedure_list/*12*/)==((void*)(NULL))){
r67add_position((C)->_start_position/*0*/);
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms74_140500);
r67fatal_error((T67*)(oBC11eh),b1);
}/*]*/
}
/*FI]*/
/*[IF*/
if((r79count((T79*)((C)->_procedure_list/*12*/)))>(1)){
r67add_type(a1,((T0*)ms12_23835));
r67add_position((C)->_start_position/*0*/);
/*[IRF3.2fatal_error_vtec_2*//*[IRF3.6fatal_error*/{T0* b1=((T0*)ms11_572294);
r67fatal_error((T67*)(oBC11eh),b1);
}/*]*/
/*]*/
}
/*FI]*/
_rc=X46run_class(a1);
_rf=r310get_feature(((T310*)_rc),r79item((T79*)((C)->_procedure_list/*12*/),1));
/*[IF*/
if((_rf)==((void*)(NULL))){
r67add_position((C)->_start_position/*0*/);
/*[IRF3.6append*/{T0* b1=((T0*)ms74_28658);
r7append((T7*)(oBC67explanation),b1);
}/*]*/
r67add_type(a1,((T0*)ms74_10142));
r67print_as_fatal_error((T67*)(oBC11eh));
}
/*FI]*/
_rf3=_rf;
if(NULL!=(_rf3))switch(((T0*)_rf3)->id) {
case 319:
break;
default:
_rf3=NULL;
};/*[IF*/
if((_rf3)==((void*)(NULL))){
r67add_position((C)->_start_position/*0*/);
r67add_position(X312start_position(_rf));
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms74_67122);
r67fatal_error((T67*)(oBC11eh),b1);
}/*]*/
}
/*FI]*/
/*[IF*/
if((r319arg_count(((T319*)_rf3)))>(0)){
r67add_type(a1,((T0*)ms12_23835));
r67add_position((C)->_start_position/*0*/);
r67add_position(r319start_position(((T319*)_rf3)));
/*[IRF3.6append*/{T0* b1=((T0*)ms74_46872);
r7append((T7*)(oBC67explanation),b1);
}/*]*/
/*[IRF3.2fatal_error_vtec_2*//*[IRF3.6fatal_error*/{T0* b1=((T0*)ms11_572294);
r67fatal_error((T67*)(oBC11eh),b1);
}/*]*/
/*]*/
}
/*FI]*/
}
T0* r228to_runnable_integer(T228* C,T0* a1){
T0* R=NULL;
T0* _e=NULL;
T0* _ct=NULL;
/*[IF*/
if(((C)->_e_when/*4*/)==((void*)(NULL))){
C->_e_when=a1;
_ct=/*X312current_type*/((T0*)((T326*)(r59top_rf((T59*)(oBC11small_eiffel))))->_current_type/*4*/);
_e=X53to_runnable((C)->_expression/*8*/,_ct);
/*[IF*/
if(((_e)!=((void*)(NULL)))&&(X46is_integer(X53result_type(_e)))){
C->_expression=_e;
C->_expression_value=X53to_integer((C)->_expression/*8*/);
r221add_when_item_1((T221*)((C)->_e_when/*4*/),(T0*)C);
}
else{
r228error(X53start_position((C)->_expression/*8*/),((T0*)ms12_21798));
}
/*FI]*/
R=(T0*)C;
}
else{
{T228*n=malloc(sizeof(*n));
*n=M228;
/*[IRF3.3make*/((((T228*)(n)))->_expression)=((C)->_expression/*8*/);
/*]*/
R=(T0*)n;
}
R=r228to_runnable_integer(((T228*)R),a1);
}
/*FI]*/
return R;
}
T0* r228start_position(T228* C){
T0* R=NULL;
R=X53start_position((C)->_expression/*8*/);
return R;
}
T0* r228twin(T228* C){
T0* R=NULL;
R=malloc(sizeof(*C));
*((T228*)R)=*C;
return R;
}
/*No:WHEN_ITEM_1.expression_value*/
/*No:WHEN_ITEM_1.expression*/
/*No:WHEN_ITEM_1.fz_bcv*/
void r228error(T0* a1,T0* a2){
r67add_position(a1);
r67error((T67*)(oBC11eh),a2);
}
/*No:WHEN_ITEM_1.make*/
/*No:WHEN_ITEM_1.e_when*/
/*No:WHEN_ITEM_1.clear_e_when*/
/*No:WHEN_ITEM_1.fz_biv*/
T0* r228to_runnable_character(T228* C,T0* a1){
T0* R=NULL;
T0* _e=NULL;
T0* _ct=NULL;
/*[IF*/
if(((C)->_e_when/*4*/)==((void*)(NULL))){
C->_e_when=a1;
_ct=/*X312current_type*/((T0*)((T326*)(r59top_rf((T59*)(oBC11small_eiffel))))->_current_type/*4*/);
_e=X53to_runnable((C)->_expression/*8*/,_ct);
/*[IF*/
if(((_e)!=((void*)(NULL)))&&(X46is_character(X53result_type(_e)))){
C->_expression=_e;
C->_expression_value=X53to_integer((C)->_expression/*8*/);
r221add_when_item_1((T221*)((C)->_e_when/*4*/),(T0*)C);
}
else{
r228error(X53start_position((C)->_expression/*8*/),((T0*)ms12_25940));
}
/*FI]*/
R=(T0*)C;
}
else{
{T228*n=malloc(sizeof(*n));
*n=M228;
/*[IRF3.3make*/((((T228*)(n)))->_expression)=((C)->_expression/*8*/);
/*]*/
R=(T0*)n;
}
R=r228to_runnable_character(((T228*)R),a1);
}
/*FI]*/
return R;
}
/*No:EXCEPTIONS_HANDLER.set_used*/
/*No:EXCEPTIONS_HANDLER.used*/
/*No:EXCEPTIONS_HANDLER.make*/
/*No:CALL_1_C.feature_name*/
void r139run_feature_match(T139* C,T0* a1){
r139run_feature_has_result(C);
r136match_with((T136*)((C)->_arguments/*12*/),(C)->_run_feature/*16*/,a1);
}
/*No:CALL_1_C.arguments*/
T0* r139runnable_expression(T0* a1,T0* a2){
T0* R=NULL;
R=X53to_runnable(a1,a2);
/*[IF*/
if((R)==((void*)(NULL))){
r67add_position(X53start_position(a1));
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms105_16515);
r67fatal_error((T67*)(oBC11eh),b1);
}/*]*/
}
/*FI]*/
return R;
}
T0* r139start_position(T139* C){
T0* R=NULL;
R=X77start_position((C)->_feature_name/*8*/);
return R;
}
T0* r139add_comment(T139* C,T0* a1){
T0* R=NULL;
/*[IF*/
if(((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r34count(((T34*)((((T52*)a1))->_list/*4*/)))/*)*/)==(0))){
R=(T0*)C;
}
else{
{T218*n=malloc(sizeof(*n));
*n=M218;
r218make(n,(T0*)C,a1);
R=(T0*)n;
}
}
/*FI]*/
return R;
}
T2 r139to_integer(T139* C){
T2 R=0;
r139error(r139start_position(C),((T0*)ms12_45846));
return R;
}
/*No:CALL_1_C.dot_precedence*/
T0* r139to_runnable(T139* C,T0* a1){
T0* R=NULL;
T0* _rf=NULL;
T0* _a=NULL;
T0* _t=NULL;
_t=r139runnable_expression((C)->_target/*4*/,a1);
_a=r139runnable_args((C)->_arguments/*12*/,a1);
_rf=r139run_feature_for(C,_t,a1);
/*[IF*/
if(((C)->_run_feature/*16*/)==((void*)(NULL))){
C->_target=_t;
C->_arguments=_a;
C->_run_feature=_rf;
r139run_feature_match(C,a1);
R=(T0*)C;
}
else if(((_t)==((void*)((C)->_target/*4*/)))&&((_a)==((void*)((C)->_arguments/*12*/)))){
R=(T0*)C;
}
else{
{T139*n=malloc(sizeof(*n));
*n=M139;
r139with(n,_t,(C)->_feature_name/*8*/,_a,_rf,a1);
R=(T0*)n;
}
}
/*FI]*/
return R;
}
/*No:CALL_1_C.fz_bad_argument*/
/*No:CALL_1_C.arg1*/
void r139run_feature_has_result(T139* C){
/*[IF*/
if((X312result_type((C)->_run_feature/*16*/))==((void*)(NULL))){
r67add_position(X312start_position((C)->_run_feature/*16*/));
r67add_position(X77start_position((C)->_feature_name/*8*/));
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms104_53650);
r67fatal_error((T67*)(oBC11eh),b1);
}/*]*/
}
/*FI]*/
}
/*No:CALL_1_C.fz_iinaiv*/
T0* r139run_feature_for(T139* C,T0* a1,T0* a2){
T0* R=NULL;
T0* _rc=NULL;
_rc=X46run_class(X53result_type(a1));
R=r310get_rf(((T310*)_rc),a1,(C)->_feature_name/*8*/,a2);
return R;
}
T0* r139result_type(T139* C){
T0* R=NULL;
T0* _tla=NULL;
R=X312result_type((C)->_run_feature/*16*/);
/*[IF*/
if(X46is_like_current(R)){
R=/*X312current_type*/((T0*)((T326*)((C)->_run_feature/*16*/))->_current_type/*4*/);
}
else{
_tla=R;
if(NULL!=(_tla))switch(((T0*)_tla)->id) {
case 246:
break;
default:
_tla=NULL;
};/*[IF*/
if((_tla)!=((void*)(NULL))){
R=X46run_type(X53result_type(/*(IRF4.6arg1*//*(IRF4.3first*/(((T136*)((C)->_arguments/*12*/)))->_first_one/*0*//*)*//*)*/));
}
/*FI]*/
}
/*FI]*/
return R;
}
/*No:CALL_1_C.target*/
void r139error(T0* a1,T0* a2){
r67add_position(a1);
r67error((T67*)(oBC11eh),a2);
}
/*No:CALL_1_C.run_feature*/
/*No:CALL_1_C.precedence*/
void r139make(T139* C,T0* a1,T0* a2,T0* a3){
C->_target=a1;
C->_feature_name=a2;
C->_arguments=a3;
}
T0* r139runnable_args(T0* a1,T0* a2){
T0* R=NULL;
R=r136to_runnable(((T136*)a1),a2);
/*[IF*/
if((R)==((void*)(NULL))){
r67add_position(r136start_position(((T136*)a1)));
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms12_13065);
r67fatal_error((T67*)(oBC11eh),b1);
}/*]*/
}
/*FI]*/
return R;
}
void r139bracketed_short(T139* C){
r39hook_or((T39*)(oBC11short_print),((T0*)ms53_6792),((T0*)ms53_41));
r139short(C);
r39hook_or((T39*)(oBC11short_print),((T0*)ms53_8645),((T0*)ms53_42));
}
/*No:CALL_1_C.is_current*/
/*No:CALL_1_C.is_void*/
void r139short_target(T139* C){
r139short(C);
/*[IRF3.6a_dot*/{T39* C1=(T39*)(oBC11short_print);
r39hook_or(C1,((T0*)ms39_999a),((T0*)ms12_47));
}/*]*/
}
void r139with(T139* C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5){
C->_target=a1;
C->_feature_name=a2;
C->_arguments=a3;
C->_run_feature=a4;
r139run_feature_match(C,a5);
}
void r139short(T139* C){
X53short_target((C)->_target/*4*/);
X77short((C)->_feature_name/*8*/);
X53bracketed_short(/*(IRF4.6arg1*//*(IRF4.3first*/(((T136*)((C)->_arguments/*12*/)))->_first_one/*0*//*)*//*)*/);
}
/*No:CALL_1_C.fatal_error*/
/*No:CALL_0_C.feature_name*/
void r137run_feature_match(T137* C){
r137run_feature_has_result(C);
/*[IF*/
if((X312arg_count((C)->_run_feature/*12*/))>(0)){
r67add_position(X77start_position((C)->_feature_name/*8*/));
r67add_position(X312start_position((C)->_run_feature/*12*/));
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms128_50512);
r67fatal_error((T67*)(oBC11eh),b1);
}/*]*/
}
/*FI]*/
}
T0* r137runnable_expression(T0* a1,T0* a2){
T0* R=NULL;
R=X53to_runnable(a1,a2);
/*[IF*/
if((R)==((void*)(NULL))){
r67add_position(X53start_position(a1));
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms105_16515);
r67fatal_error((T67*)(oBC11eh),b1);
}/*]*/
}
/*FI]*/
return R;
}
T0* r137start_position(T137* C){
T0* R=NULL;
R=X77start_position((C)->_feature_name/*8*/);
return R;
}
T0* r137add_comment(T137* C,T0* a1){
T0* R=NULL;
/*[IF*/
if(((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r34count(((T34*)((((T52*)a1))->_list/*4*/)))/*)*/)==(0))){
R=(T0*)C;
}
else{
{T218*n=malloc(sizeof(*n));
*n=M218;
r218make(n,(T0*)C,a1);
R=(T0*)n;
}
}
/*FI]*/
return R;
}
T2 r137to_integer(T137* C){
T2 R=0;
T0* _rf1=NULL;
_rf1=(C)->_run_feature/*12*/;
if(NULL!=(_rf1))switch(((T0*)_rf1)->id) {
case 326:
break;
default:
_rf1=NULL;
};/*[IF*/
if((_rf1)==((void*)(NULL))){
r137error(r137start_position(C),((T0*)ms12_45846));
}
else{
R=X53to_integer((((T326*)_rf1))->_value/*36*/);
}
/*FI]*/
return R;
}
/*No:CALL_0_C.dot_precedence*/
T0* r137to_runnable(T137* C,T0* a1){
T0* R=NULL;
T0* _path=NULL;
T2 _line=0;
T0* _rf=NULL;
T0* _t=NULL;
_line=/*(IRF4.6line*/(((T69*)(X53start_position((C)->_target/*4*/)))->_mem_line_column/*4*/)/(1000)/*)*/;
_path=r69path((T69*)(X53start_position((C)->_target/*4*/)));
_t=r137runnable_expression((C)->_target/*4*/,a1);
_rf=r137run_feature_for(C,_t,a1);
/*[IF*/
if(((C)->_run_feature/*12*/)==((void*)(NULL))){
C->_target=_t;
C->_run_feature=_rf;
r137run_feature_match(C);
R=(T0*)C;
}
else if((_t)==((void*)((C)->_target/*4*/))){
R=(T0*)C;
}
else{
{T137*n=malloc(sizeof(*n));
*n=M137;
r137with(n,_t,(C)->_feature_name/*8*/,_rf);
R=(T0*)n;
}
}
/*FI]*/
return R;
}
void r137run_feature_has_result(T137* C){
/*[IF*/
if((X312result_type((C)->_run_feature/*12*/))==((void*)(NULL))){
r67add_position(X312start_position((C)->_run_feature/*12*/));
r67add_position(X77start_position((C)->_feature_name/*8*/));
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms104_53650);
r67fatal_error((T67*)(oBC11eh),b1);
}/*]*/
}
/*FI]*/
}
/*No:CALL_0_C.fz_iinaiv*/
T0* r137run_feature_for(T137* C,T0* a1,T0* a2){
T0* R=NULL;
T0* _rc=NULL;
_rc=X46run_class(X53result_type(a1));
R=r310get_rf(((T310*)_rc),a1,(C)->_feature_name/*8*/,a2);
return R;
}
T0* r137result_type(T137* C){
T0* R=NULL;
R=X312result_type((C)->_run_feature/*12*/);
/*[IF*/
if(X46is_like_current(R)){
R=/*X312current_type*/((T0*)((T326*)((C)->_run_feature/*12*/))->_current_type/*4*/);
}
/*FI]*/
return R;
}
/*No:CALL_0_C.target*/
void r137error(T0* a1,T0* a2){
r67add_position(a1);
r67error((T67*)(oBC11eh),a2);
}
/*No:CALL_0_C.run_feature*/
/*No:CALL_0_C.precedence*/
void r137make(T137* C,T0* a1,T0* a2){
C->_target=a1;
C->_feature_name=a2;
}
void r137bracketed_short(T137* C){
r39hook_or((T39*)(oBC11short_print),((T0*)ms53_6792),((T0*)ms53_41));
r137short(C);
r39hook_or((T39*)(oBC11short_print),((T0*)ms53_8645),((T0*)ms53_42));
}
/*No:CALL_0_C.is_current*/
/*No:CALL_0_C.is_void*/
void r137short_target(T137* C){
r137short(C);
/*[IRF3.6a_dot*/{T39* C1=(T39*)(oBC11short_print);
r39hook_or(C1,((T0*)ms39_999a),((T0*)ms12_47));
}/*]*/
}
void r137with(T137* C,T0* a1,T0* a2,T0* a3){
C->_target=a1;
C->_feature_name=a2;
C->_run_feature=a3;
r137run_feature_match(C);
}
void r137short(T137* C){
X53short_target((C)->_target/*4*/);
X77short((C)->_feature_name/*8*/);
}
/*No:CALL_0_C.fatal_error*/